home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / geos / geos30.d64 / icon grabber (.txt) < prev    next >
Commodore BASIC  |  1995-08-05  |  3KB  |  109 lines

  1. 1000 REM   THIS PROGRAM WILL EXAMINE A
  2. 1010 REM DISK FOR THE GEOS ICON THAT
  3. 1020 REM MATCHES THE GIVEN FILE NAME.
  4. 1030 REM   THE RESULT IS THE ICON IN
  5. 1040 REM MEMORY AS DATA STATEMENTS.
  6. 1050 REM
  7. 1060 REM   THIS WAY YOU CAN GET AN ICON
  8. 1070 REM IN MEMORY, LIST THE LINES,TYPE
  9. 1080 REM NEW, THEN LOAD IN THE ICON
  10. 1090 REM CHANGER PROGRAM AND HIT RETURN
  11. 1100 REM OVER THE LINES TO ADD THEM.
  12. 1110 REM
  13. 1120 REM   THIS PROGRAM IS A MESS MADE
  14. 1130 REM BY JOE BUCKLEY FROM THE GUTTED
  15. 1140 REM REMAINS OF TWO OTHER PROGRAMS:
  16. 1150 REM
  17. 1160 REM   ICON CHANGER
  18. 1170 REM     BY DOUGLAS CURTIS
  19. 1180 REM
  20. 1190 REM   SEC2DATA
  21. 1200 REM     BY RANDY WINCHESTER
  22. 1210 REM
  23. 1220 REM
  24. 1230 POKE53281,0:POKE53280,0:POKE646,13:POKE53269,0:DN$="":IU=0
  25. 1240 PRINT"[147]":PRINTSPC(12)"[215][146] ICON GRABBER [215][146]"
  26. 1250 PRINT"ENTER THE FILENAME OF THE ICON YOU WANT TO CAPTURE"
  27. 1260 INPUT"->";IN$
  28. 1270 PRINT"FILENAME SELECTED IS >"IN$"<"
  29. 1280 PRINT"IS THIS CORRECT  ";
  30. 1290 INPUT" Y[157][157][157]";AN$:IF AN$<>"Y"THEN1000
  31. 1300 INPUT"STARTING LINE NUMBER";LN
  32. 1310 FORCT=1TO16
  33. 1320 PD$=PD$+CHR$(32)
  34. 1330 NEXTCT
  35. 1340 IN$=LEFT$(IN$+PD$,16)
  36. 1350 OPEN15,8,15,"I0"
  37. 1360 INPUT#15,ER$,EM$:IFER$<>"00"THENPRINTER$+" "+EM$:CLOSE15:END
  38. 1370 T=18:S=1
  39. 1380 OPEN2,8,2,"#"
  40. 1390 PRINT#15,"U1";2;0;T;S:FC=0:FP=2:BP=5
  41. 1400 PRINT#15,"B-P";2;0:GET#2,NT$,NS$:T=ASC(NT$+CHR$(0)):S=ASC(NS$+CHR$(0))
  42. 1410 PRINT#15,"B-P";2;FP:GET#2,FT$:FT$=FT$+CHR$(0):IFASC(FT$)=0THEN1550
  43. 1420 PRINT#15,"B-P";2;BP
  44. 1430 FORCT=1TO16
  45. 1440 GET#2,BI$
  46. 1450 IFBI$=""THENBI$=CHR$(0)
  47. 1460 FI=ASC(BI$)
  48. 1470 IFFI>127THENFI=FI-128
  49. 1480 IFFI<32THENFI=63
  50. 1490 IFFI>96ANDFI<123THENFI=FIAND223
  51. 1500 IFFI=34THENFI=63
  52. 1510 DN$=DN$+CHR$(FI)
  53. 1520 NEXTCT
  54. 1530 IFDN$=IN$THEN1580
  55. 1540 DN$=""
  56. 1550 FC=FC+1:IFFC=8ANDT<>0THEN1390
  57. 1560 IFFC=8ANDT=0THEN1660
  58. 1570 FP=FP+32:BP=BP+32:GOTO1410
  59. 1580 GET#2,IT$,IS$
  60. 1590 IT=ASC(IT$+CHR$(0)):IS=ASC(IS$+CHR$(0))
  61. 1600 PRINT#15,"U1";2;0;IT;IS
  62. 1610 PRINT#15,"B-P";2;5
  63. 1620 FORCT=1TO63
  64. 1630 GET#2,ID$:ID=ASC(ID$+CHR$(0))
  65. 1640 POKE831+CT,ID
  66. 1650 NEXTCT:GOTO 1670
  67. 1660 PRINT"[147]FILE NOT FOUND!":CLOSE2:CLOSE15:END
  68. 1670 BU=831
  69. 1680 CLOSE2:CLOSE15
  70. 1690 Q$=CHR$(34)
  71. 1700 OPEN15,8,15,"I0"
  72. 1710 GOSUB1720:GOTO1750
  73. 1720 INPUT#15,EN$,EM$,ET$,ES$
  74. 1730 IF EN$<>"00"GOTO2020
  75. 1740 RETURN
  76. 1750 OPEN2,8,2,"#"
  77. 1760 OPEN3,8,3,"TEMPDATA,S,W"
  78. 1770 PRINT#3,LN;"REM --->"
  79. 1780 PRINT"[147]WRITING DATA FILE . . ."
  80. 1790 FOR C1=0TO6
  81. 1800 LN=LN+1
  82. 1810 PRINT#3,LN;"DATA";
  83. 1820 FOR C2=0TO7
  84. 1830 BU=BU+1:B$=CHR$(PEEK(BU)):IF B$=""THEN B$=CHR$(0)
  85. 1840 XX$=STR$(ASC(B$)):YY$=RIGHT$("000"+RIGHT$(XX$,LEN(XX$)-1),3)
  86. 1850 PRINT#3,YY$;:IF C2<7THEN PRINT#3,CHR$(44);
  87. 1860 NEXT
  88. 1870 PRINT#3,CHR$(13)
  89. 1880 NEXT
  90. 1890 LN=LN+1
  91. 1900 PRINT#3,LN;"DATA";
  92. 1910 FOR C2=0TO6
  93. 1920 BU=BU+1:B$=CHR$(PEEK(BU)):IF B$=""THEN B$=CHR$(0)
  94. 1930 XX$=STR$(ASC(B$)):YY$=RIGHT$("000"+RIGHT$(XX$,LEN(XX$)-1),3)
  95. 1940 PRINT#3,YY$;:IF C2<6THEN PRINT#3,CHR$(44);
  96. 1950 NEXT
  97. 1960 PRINT#3,CHR$(13)
  98. 1970 LN=LN+1
  99. 1980 PRINT#3,LN;"REM"
  100. 1990 PRINT#3,"?"Q$"OPEN1,8,15,"Q$"C[200](34)"Q$"S0:TEMPDATA"Q$"C[200](34)"Q$":CLOSE15"
  101. 2000 PRINT#3,"PRINT"Q$"[145][145][145][145][145][145][145][145][145][145]"Q$
  102. 2010 PRINT#3,"CLOSE2:POKE812,47:SYS65484"
  103. 2020 CLOSE3:CLOSE2
  104. 2030 CLOSE15
  105. 2040 PRINT"[147]";:PRINT:PRINT:PRINT"OPEN2,8,2,";Q$;
  106. 2050 PRINT"TEMPDATA";Q$;
  107. 2060 PRINT":POKE781,2:POKE812,73:SYS65478"
  108. 2070 PRINT"";:POKE198,1:POKE631,13:NEW
  109.